Enterprise Service Oriented Architecture (ESOA) is a business-driven software architecture pioneered by SAP® that can serve as a blueprint for an adaptable, flexible, and open IT architecture for developing services-based, enterprise-scale business solutions and can provide increased adaptability, flexibility, openness, and cost-efficiency to end users. Service Oriented Architecture (SOA) is an available computer architecture used by information technology professionals to develop business applications. An SOA can be used to define a set of global service modules that can be distributed over a network and used to give business applications functionality. Examples of service modules might include a log-in service, a reservation service, a data retrieval service, and so on. By linking a series of these services, an application designer can create new applications without the need for redundant programming. For example, when developing a reservation application for a hotel, a designer may define the way in which the already-programmed service modules, e.g., log-in module, a reservation module, a scheduling module, interact with one another.
As software solutions become more complex, the number of software applications and modules used in an application may also increase, and there may be many dependencies between the different applications and the modules used by each application. Different portions of the software may need to convey data to or retrieve data from other portions, and while much of this data may be similar, much of the data may be stored in different locations and formats and accessed in different ways. For example, each software application may use a different interface to transfer data from and to other applications, leading to a complex architecture that is difficult to manage.
Developing reporting applications can be complicated, for example, because the data needed to generate the report might be located in multiple, disparate locations, including on third-party hosts. Some of the data used might be static data residing in a data warehouse. For example, budget data from past fiscal years can be accessed directly from a data warehouse because the data does not change once entered. Other types of data needed to generate a report, however, might not be suitable for storage in a business warehouse database because it is constantly being changed. For example, the percentage of a budget consumed is the function of a budget-to-date value and a total-budget value, and because the budget-to-date value is constantly changing with time, so is the percentage of budget consumed. Therefore, the percentage of budget consumed is operational information that needs to be obtained by a business process rather than a database.
Operational data can frequently be the product of many business processes and calculations involving such can often be quite complex. Because of this complexity, it is undesirable to have individual applications recalculate operational data when it is needed. Accordingly, a need exists to provide a system which allows for the retrieval and use of operational data from one application by another application in an enterprise system.